1. Field of the Invention
The present invention relates to a system for managing digital content, specifically for managing a copyright of digital content claiming the copyright and for securing secrecy of digital content, and also relates to an apparatus implementing the system.
2. Background Art
In information-oriented society of today, a database system has been spread in which various data values having been stored independently in each computer so far are mutually used by computers connected by communication lines.
The information handled by the prior art database system is classical type coded information which can be processed by a computer and has a small amount of information or monochrome binary data like facsimile data at most. Therefore, the prior art database system has not been able to handle data with an extremely large amount of information such as a natural picture and a motion picture.
However, while the digital processing technique for various electric signals develops, development of the digital processing art has shown progress for a picture signal other than binary data having been handled only as an analog signal.
By digitizing the above picture signal, a picture signal such as a television signal can be handled by a computer. Therefore, a “multimedia system” for handling various data handled by a computer and picture data obtained by digitizing a picture signal at the same time is recognized as a future technique.
Because hitherto widely-spread analog content is deteriorated in quality whenever storing, copying, editing, or transmitting it, copyright issues associated with the above operations has not been a large problem. However, because digital content is not deteriorated in quality after repeatedly storing, copying, editing, or transmitting it, the control of copyrights associated with the above operations is a large problem.
Because there is not hitherto any exact method for handling a copyright for digital content, the copyright is handled by the copyright law or relevant contracts. Even in the copyright law, compensation money for a digital-type sound- or picture-recorder is only systematized.
Use of a database includes not only referring to the contents of the database but also normally effectively using the database by storing, copying, or editing obtained digital content. Moreover, it is possible to transmit edited digital content to another person via on-line by a communication line or via off-line by a proper recording medium. Furthermore, it is possible to transmit the edited digital content to the database to enter it as new digital content.
In an existing database system, only character data is handled. In a multimedia system, however, audio data and picture data which are originally analog content are digitized to a digital content and formed into a database in addition to the data such as characters which have been formed into a database so far.
Under the above situation, how to handle a copyright of digital content formed into a database is a large problem. However, there has not been adequate copyright management means for solving the problem so far, particularly copyright management means completed for secondary utilization of the digital content such as copying, editing, or transmitting of the digital content.
Although digital content referred to as “software with advertisement” or as freeware is, generally, available free of fee, it is copyrighted and its use may be restricted by the copyright depending on the way of use.
In view of the above, the inventor of the present invention has made various proposals thus far in order to protect a copyright of the digital content. In GB 2269302 and U.S. Pat. No. 5,504,933, the inventor has proposed a system for executing copyright management by obtaining a permit key from a key management center through a public telephone line, and has also proposed an apparatus for that purpose in GB 2272822. Furthermore, in EP 677949 and in EP 704785, a system has been proposed for managing the copyright of the digital content.
In these systems and apparatus, those who wish to view encrypted programs request to view a program using a communication device to a management center via a communication line, and the management center transmits a permit key in response to the request for viewing, and charges and collects a fee.
Upon receipt of the permit key, those who wish to view the program send the permit key to a receiver either by an on-line or an off-line means and the receiver, which has received the permit key, decrypts the encrypted program according to the permit key.
The system described in EP 677949 uses a program and copyright information to manage a copyright in addition to a key for permitting usage in order to execute the management of a copyright in displaying (including process to sound), storing, copying, editing, and transmitting of the digital content in a database system, including the real time transmission of digital picture content. The digital content management program for managing the copyright watches and manages to prevent from using the digital content outside the conditions of the user's request or permission.
Furthermore, EP 677949 discloses that the digital content is supplied from a database in an encrypted state, and is decrypted only when displayed and edited by the digital content management program, while the digital content is encrypted again when stored, copied or transmitted. EP 677949 also describes that the digital content management program itself is encrypted and is decrypted by the permit key, and that the decrypted digital content management program performs decryption and encryption of the digital content, and when usage other than storing and displaying of the digital content is executed, the copyright information is stored as a history, in addition to the original copyright information.
In U.S. patent application Ser. No. 08/549,270 and EP 0715241 relating to the present application, there is proposed a decryption/re-encryption apparatus having configuration of a board, PCMCIA card or an IC card for managing the copyright, and a system for depositing a crypt key. Also, a reference is made to apply the copyright management method to a video conference system and an electronic commerce system.
In U.S. patent application Ser. No. 08/549,271 and EP 709760, a system has been proposed wherein the protection of an original digital content copyright and an edited digital content copyright in case of the edited digital content using a plurality of digital contents is carried out by confirming the validity of a usage request according to a digital signature on an edit program by combining a secret-key cryptosystem and a public-key cryptosystem.
In U.S. patent application Ser. No. 08/573,958 and EP 719045, various forms have been proposed for applying the digital content management system to a database and a video-on-demand (VOD) systems or an electronic commerce.
In U.S. patent application Ser. No. 08/663,463, EP 746126, a system has been proposed, in which copyrights on an original digital content and a new digital content are protected by using a third crypt key and a copyright label in case of using and editing a plurality of digital contents.
As can be understood from the digital content management systems and the digital content management apparatus which have been proposed by the inventor of the present invention described above, the management of a digital content copyright can be realized by restricting encryption/decryption/re-encryption and the form of the usage. The cryptography technology and the usage restriction thereof can be realized by using a computer.
In order to use the computer efficiently, an operating system (OS) is used which, supervises the overall operation of the computer. The conventional operating system (OS) used on a personal computer or the like is constituted of a kernel for handling basic services such as memory control, task control, interruption, and communication between processes and OS services for handling other services.
However, improvement in the functions of the OS which supervises the overall operation of computers is now being demanded where circumstances change on the computer side, such as improved capability of microprocessors, a decreased price of RAMs (Random Access Memory) used as a main memory, as well as improvement in the performance capability of computers is required by users, as a consequence, the scale of an OS has become comparatively larger than before.
Since such an enlarged OS occupies a large space itself in the hard disk stored OS, the space for storing the application programs or data needed by the user is liable to be insufficient, with the result in which the usage convenience in the computer becomes unfavorable.
In order to cope with such a situation, in the latest OS, an environmental sub-system for performing emulation of other OS and graphics displaying, and a core sub-system such as a security sub-system are removed from the kernel, as a sub-system that is a part that depends on the user. The basic parts such as a HAL (hardware abstraction layer) for absorbing differences in hardware, a scheduling function, an interruption function, and an I/O control function is a micro-kernel, and a system service API (Application Programming Interface) is interposed between the sub-system and the micro-kernel, thereby constituting the OS.
By doing so, extension of the OS by change or addition of functions will be improved, and portability of the OS can be facilitated corresponding to the applications. By a distributed arrangement for elements of the micro-kernel to a plurality of network computers, the distributed OS can also be realized without difficulty.
Computers are used in computer peripheral units, various control units, and communication devices in addition to the personal computers represented by the desktop type or notebook type computers. In such a case, as an OS unique for embedding, applicable to each of the devices, a real time OS is adopted in which execution speed is emphasized, unlike in a general-purpose personal computer OS, in which the man-machine interface is emphasized.
Naturally, the development cost for a respective OS unique to each device embedded will be high. There has recently been proposed, therefore, that a general-purpose OS for personal computers as a real-time OS for embedding is used instead. By arranging a specified program for embedding in a sub-system combined with the micro-kernel, a real-time OS for embedding can be obtained for embedding.
As the major functions of an OS, there is a task control, such as scheduling, interruption processing, and the like. With respect to task control, there are two kinds of OS's; the single-task type, in which only one task is executed at the same time, and the multi-task type, in which a plurality of task processes are executed at the same time. The multi-task type is further classified into two kinds; one multi-task type, changing of tasks depends on the task to be executed, and the other multi-task type, the changing does not depend on the task to be executed.
In the aforementioned [multi-task types] single-task type, the [single-type] single-task type assigns one process to a CPU (Central Processing Unit) and the CPU is not released until the process comes to an end, and a non-preemptive multi-task type performs time-division for the CPU, and the CPU can be assigned to a plurality of processes. As long as the process which is being executed does not give control back to the OS, other processes are not executed. And a preemptive multi-task type interrupts the process which is being executed during a certain time interval and thereby forcibly move the control to another process. Consequently, real time multi-task can be available only in the case of the preemptive type.
Task control in a computer is performed according to processes being units having system resources such as a memory and a file. Process control is performed according to a thread, being a unit in which CPU time is assigned, in which the process is minutely divided. Incidentally, in this case, the system resources are shared in all the threads in the same process. More than one threads, therefore, may exist which share the system resources in one process.
Each task which is processed by the multi-task type has a priority spectrum, which is generally divided into 32 classes. In such a case, a normal task without interruption is classified into dynamic classes which are divided into 0 to 15 classes, while a task performing interruption is classified into real-time classes divided into 16 to 31 classes.
Interruption processing is carried out using interruption enabling time (generally, 10 milliseconds) referred to as a time slice, as one unit. A normal interruption is carried out during a time slice of 10 milliseconds. In such a situation, a time slice has recently been proposed wherein the interruption enabling time is set to 100 microseconds. When such a real time slice is used, an interruption can be carried out with greater priority than the conventional 10 milliseconds.